// fs 模块可以实现与硬盘的交互
// 例如文件的创建、删除、重命名、移动、内容的写入、读取
// 以及文件夹的相关操作
const fs = require("fs");

// 第一种方式
// 读取文件内容
// const data = fs.readFileSync("./观书有感.txt");
// // 写入文件
// fs.writeFileSync("./观书有感2.txt", data);

// 第二种方式 流式操作
const rs = fs.createReadStream("./观书有感.txt");
const ws = fs.createWriteStream("./观书有感3.txt");
// rs.on("data", (chunk) => {
//   ws.write(chunk);
// });
// 使用 pipe 方法将可读流的数据传递给可写流
/**
    简洁：代码更加简洁，不需要手动处理 data 事件。
    高效：pipe 方法会自动管理缓冲区，避免了内存溢出的风险。
    自动关闭：当所有数据都传输完毕后，pipe 会自动关闭可读流和可写流。
 */
rs.pipe(ws);

console.log("文件复制完成");